﻿using System;

namespace HogoLogic.HgFileSystem
{
	[Serializable]
	public class GetFilesOptions
	{
		private readonly bool showUnchanged;
		private readonly bool showUnversioned;
		private readonly bool showIgnored;
		private readonly bool showFlat;

		public GetFilesOptions(bool showUnchanged, bool showUnversioned, bool showIgnored, bool showFlat)
		{
			this.showUnchanged = showUnchanged;
			this.showUnversioned = showUnversioned;
			this.showIgnored = showIgnored;
			this.showFlat = showFlat;
		}

		public bool ShowUnchanged
		{
			get { return showUnchanged; }
		}

		public bool ShowUnversioned
		{
			get { return showUnversioned; }
		}

		public bool ShowIgnored
		{
			get { return showIgnored; }
		}

		public bool ShowFlat
		{
			get { return showFlat; }
		}

		static public readonly GetFilesOptions Default = new GetFilesOptions(true, true, true, true);
	}
}
